/*
	File : ShowFindUpdateAGV.h
	Author : Achmad Giovani
*/

#ifndef SHOWFINDUPDATEAGV_H_
#define SHOWFINDUPDATEAGV_H_

#include <string>
#include <algorithm>
#include <vector>
#include <sstream>
#include "Cart.h"
#include "Cart_item.h"
#include "Category.h"
#include "Product.h"

class ShowFindUpdateAGV{
	public:
		static string show(vector<Product>); 													/* list all products sorted by price [print name, ID and price] */
		static double find(vector<Cart_item>, vector<Category>, vector<Product>, string);		/* Calculate total sales for a given category */ 
		static void update(Cart_item ci, vector<Cart> carts, vector<Product>, vector<Cart_item> &cart_items);											/* Add a new cart item to an existing cart */
	
	private:
		static bool compareProduct(Product,Product);
		static double get_prod_price_byID(vector<Product>, int); 	
};


#endif //SHOWFINDUPDATEAGV_H_